| 1 |  |  | /** | 
            
                                                                                                            
                            
            
                                    
            
            
                | 2 |  |  |  * MIT License | 
            
                                                                                                            
                            
            
                                    
            
            
                | 3 |  |  |  * Use of this software requires acceptance of the Evaluation License Agreement. See LICENSE file. | 
            
                                                                                                            
                            
            
                                    
            
            
                | 4 |  |  |  */ | 
            
                                                                                                            
                            
            
                                    
            
            
                | 5 |  |  |  | 
            
                                                                                                            
                            
            
                                    
            
            
                | 6 |  |  | 'use strict'; | 
            
                                                                                                            
                            
            
                                    
            
            
                | 7 |  |  |  | 
            
                                                                                                            
                            
            
                                    
            
            
                | 8 |  |  | var $ = require('jquery'); | 
            
                                                                                                            
                            
            
                                    
            
            
                | 9 |  |  |  | 
            
                                                                                                            
                            
            
                                    
            
            
                | 10 |  |  | function init(config) { | 
            
                                                                                                            
                            
            
                                    
            
            
                | 11 |  |  |     var $form = $(config.formSelector); | 
            
                                                                                                            
                            
            
                                    
            
            
                | 12 |  |  |  | 
            
                                                                                                            
                            
            
                                    
            
            
                | 13 |  |  |     initHostedIframe(config); | 
            
                                                                                                            
                            
            
                                    
            
            
                | 14 |  |  |  | 
            
                                                                                                            
                            
            
                                    
            
            
                | 15 |  |  |     var $bankAccountModeBban = $form.find(config.bankAccountModeBbanInput); | 
            
                                                                                                            
                            
            
                                    
            
            
                | 16 |  |  |     $bankAccountModeBban.change(function() { | 
            
                                                                                                            
                            
            
                                    
            
            
                | 17 |  |  |         $form.find(config.bankAccountInput).prop('disabled', false); | 
            
                                                                                                            
                            
            
                                    
            
            
                | 18 |  |  |         $form.find(config.bankCodeInput).prop('disabled', false); | 
            
                                                                                                            
                            
            
                                    
            
            
                | 19 |  |  |         $form.find(config.ibanInput).prop('disabled', true); | 
            
                                                                                                            
                            
            
                                    
            
            
                | 20 |  |  |         $form.find(config.bicInput).prop('disabled', true); | 
            
                                                                                                            
                            
            
                                    
            
            
                | 21 |  |  |     }); | 
            
                                                                                                            
                            
            
                                    
            
            
                | 22 |  |  |  | 
            
                                                                                                            
                            
            
                                    
            
            
                | 23 |  |  |     var $bankAccountModeIbanBic = $form.find(config.bankAccountModeIbanBicInput); | 
            
                                                                                                            
                            
            
                                    
            
            
                | 24 |  |  |     $bankAccountModeIbanBic.change(function() { | 
            
                                                                                                            
                            
            
                                    
            
            
                | 25 |  |  |         $form.find(config.bankAccountInput).prop('disabled', true); | 
            
                                                                                                            
                            
            
                                    
            
            
                | 26 |  |  |         $form.find(config.bankCodeInput).prop('disabled', true); | 
            
                                                                                                            
                            
            
                                    
            
            
                | 27 |  |  |         $form.find(config.ibanInput).prop('disabled', false); | 
            
                                                                                                            
                            
            
                                    
            
            
                | 28 |  |  |         $form.find(config.bicInput).prop('disabled', false); | 
            
                                                                                                            
                            
            
                                    
            
            
                | 29 |  |  |     }); | 
            
                                                                                                            
                            
            
                                    
            
            
                | 30 |  |  |  | 
            
                                                                                                            
                            
            
                                    
            
            
                | 31 |  |  |     if ($bankAccountModeBban.is(':checked')) { | 
            
                                                                                                            
                            
            
                                    
            
            
                | 32 |  |  |         $bankAccountModeBban.change(); | 
            
                                                                                                            
                            
            
                                    
            
            
                | 33 |  |  |     } else { | 
            
                                                                                                            
                            
            
                                    
            
            
                | 34 |  |  |         $bankAccountModeIbanBic.prop('checked', true); | 
            
                                                                                                            
                            
            
                                    
            
            
                | 35 |  |  |         $bankAccountModeIbanBic.change(); | 
            
                                                                                                            
                            
            
                                    
            
            
                | 36 |  |  |     } | 
            
                                                                                                            
                            
            
                                    
            
            
                | 37 |  |  | } | 
            
                                                                                                            
                            
            
                                    
            
            
                | 38 |  |  |  | 
            
                                                                                                            
                            
            
                                    
            
            
                | 39 |  |  | function initHostedIframe(config) { | 
            
                                                                                                            
                            
            
                                    
            
            
                | 40 |  |  |     document.paymentform = document.getElementById(config.formId); | 
            
                                                                                                            
                            
            
                                    
            
            
                | 41 |  |  |     var $form = $(config.formSelector); | 
            
                                                                                                            
                            
            
                                    
            
            
                | 42 |  |  |     var clientApiConfig = JSON.parse($form.find(config.clientApiConfigInput).val()); | 
            
                                                                                                            
                            
            
                                    
            
            
                | 43 |  |  |     var language = $form.find(config.languageInput).val().substr(0, 2); | 
            
                                                                                                            
                            
            
                                    
            
            
                | 44 |  |  |     config.hostedIframeConfig.language = Payone.ClientApi.Language[language]; | 
                            
                    |  |  |  | 
                                                                                        
                                                                                     | 
            
                                                                                                            
                            
            
                                    
            
            
                | 45 |  |  |  | 
            
                                                                                                            
                            
            
                                    
            
            
                | 46 |  |  |     var iframes = new Payone.ClientApi.HostedIFrames(config.hostedIframeConfig, clientApiConfig); | 
            
                                                                                                            
                            
            
                                    
            
            
                | 47 |  |  |  | 
            
                                                                                                            
                            
            
                                    
            
            
                | 48 |  |  |     document.getElementById('cardtype').onchange = function () { | 
            
                                                                                                            
                            
            
                                    
            
            
                | 49 |  |  |         iframes.setCardType(this.value);              // on change: set new type of credit card to process | 
            
                                                                                                            
                            
            
                                    
            
            
                | 50 |  |  |     }; | 
            
                                                                                                            
                            
            
                                    
            
            
                | 51 |  |  |  | 
            
                                                                                                            
                            
            
                                    
            
            
                | 52 |  |  |     document.getElementById('cardtype').onchange(); | 
            
                                                                                                            
                            
            
                                    
            
            
                | 53 |  |  |  | 
            
                                                                                                            
                            
            
                                    
            
            
                | 54 |  |  |     $form.find('[type="submit"]').click(function() { | 
            
                                                                                                            
                            
            
                                    
            
            
                | 55 |  |  |         if ($(config.currentPaymentMethodSelector).val() === 'payoneCreditCard') { | 
                            
                    |  |  |  | 
                                                                                        
                                                                                     | 
            
                                                                                                            
                            
            
                                    
            
            
                | 56 |  |  |             check(iframes, config); | 
            
                                                                                                            
                            
            
                                    
            
            
                | 57 |  |  |             return false; | 
            
                                                                                                            
                            
            
                                    
            
            
                | 58 |  |  |         } | 
            
                                                                                                            
                            
            
                                    
            
            
                | 59 |  |  |     }); | 
            
                                                                                                            
                            
            
                                    
            
            
                | 60 |  |  | } | 
            
                                                                                                            
                                                                
            
                                    
            
            
                | 61 |  |  |  | 
            
                                                                        
                            
            
                                    
            
            
                | 62 |  |  | function check(iframes, config) { | 
            
                                                                        
                            
            
                                    
            
            
                | 63 |  |  |     //Fix to make payone remote script work correctly. It tries to remove some node but can't find it. | 
            
                                                                        
                            
            
                                    
            
            
                | 64 |  |  |     document.getElementsByTagName("body")[0].appendChild(document.createElement("p")); | 
            
                                                                        
                            
            
                                    
            
            
                | 65 |  |  |     window.PayoneGlobals.options.payoneScript = document.getElementsByTagName("body")[0].lastChild; | 
            
                                                                        
                            
            
                                    
            
            
                | 66 |  |  |  | 
            
                                                                        
                            
            
                                    
            
            
                | 67 |  |  |     // Payone script works with such global array member. | 
            
                                                                        
                            
            
                                    
            
            
                | 68 |  |  |     // Since our function checkCallback is inside the module, it is absent in "window". | 
            
                                                                        
                            
            
                                    
            
            
                | 69 |  |  |     // Set it explicitly. | 
            
                                                                        
                            
            
                                    
            
            
                | 70 |  |  |     window['checkCallback'] = checkCallback; | 
            
                                                                        
                            
            
                                    
            
            
                | 71 |  |  |  | 
            
                                                                        
                            
            
                                    
            
            
                | 72 |  |  |     if (iframes.isComplete() && $(config.cardholderInput).val()) { | 
            
                                                                        
                            
            
                                    
            
            
                | 73 |  |  |         iframes.creditCardCheck('checkCallback'); | 
            
                                                                        
                            
            
                                    
            
            
                | 74 |  |  |     } else { | 
            
                                                                        
                            
            
                                    
            
            
                | 75 |  |  |         $(config.errorDivSelector).text(config.hostedIframeConfig.language.transactionRejected); | 
            
                                                                        
                            
            
                                    
            
            
                | 76 |  |  |     } | 
            
                                                                        
                            
            
                                    
            
            
                | 77 |  |  | } | 
            
                                                                                                            
                            
            
                                    
            
            
                | 78 |  |  |  | 
            
                                                                                                            
                            
            
                                    
            
            
                | 79 |  |  | function checkCallback(response) { | 
            
                                                                                                            
                            
            
                                    
            
            
                | 80 |  |  |     if (response.status === "VALID") { | 
            
                                                                                                            
                            
            
                                    
            
            
                | 81 |  |  |         document.getElementById("pseudocardpan").value = response.pseudocardpan; | 
            
                                                                                                            
                            
            
                                    
            
            
                | 82 |  |  |         document.paymentform.submit(); | 
            
                                                                                                            
                            
            
                                    
            
            
                | 83 |  |  |     } | 
            
                                                                                                            
                            
            
                                    
            
            
                | 84 |  |  | } | 
            
                                                                                                            
                            
            
                                    
            
            
                | 85 |  |  |  | 
            
                                                                                                            
                            
            
                                    
            
            
                | 86 |  |  | module.exports = { | 
            
                                                                                                            
                                                                
            
                                    
            
            
                | 87 |  |  |     init: init | 
            
                                                        
            
                                    
            
            
                | 88 |  |  | }; | 
            
                        
This checks looks for references to variables that have not been declared. This is most likey a typographical error or a variable has been renamed.
To learn more about declaring variables in Javascript, see the MDN.